# 运行方式: sh git-rebase-other-branch-to-current.sh | 参数1: 目标branch(枚举值在下面的描述中说明)

#获取当前分支名称
now_branch=$(git branch --show-current)
echo "当前分支:" $now_branch

#需要rebase的分支
if [ "$1" == 1 ] ;then
  remote_branch="test"
elif [ "$1" == 2 ] ;then
  remote_branch="xxx"
elif [ "$1" == 3 ] ;then
  remote_branch="master"
else
 echo "参数1:目标branch的值错误(1:test; 2:xxx; 3:master)"
 exit
fi
echo "目标rebase分支:" $remote_branch

#开始操作
# 切换到 {remote_branch} 分支,然后pull
git checkout $remote_branch
git pull

# 回到当前分支,pull,rebase最新的 {remote_branch} 分支
git checkout $now_branch
git pull
git rebase -i $remote_branch

# 接下来, 解决冲突
#git add ${冲突的文件} # 或者 git add .
#git rebase --continue

# 此时,如果还有冲突,那么就继续解决冲突
#git add ${冲突的文件} # 或者 git add .
#git rebase --continue

# 直到没有冲突了, 然后就可以提交并push到当前分支
# 注意: 可以先不加 -f,但是如果刚才有冲突,那么不加 -f 是push不上去的
#git push -f #(当前在自己的分支上，代码push到自己的分支上)
